﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using DAL.Entities;

namespace DAL.DataSourceImplementation.DataSourceDB
{
    public class PublicaTuPropiedadDB : DbContext
    {
        //Se intancian las tablas de la BD
        public DbSet<Ciudad> Ciudad { get; set; }
        public DbSet<Comuna> Comuna { get; set; }
        public DbSet<Empresa> Empresa { get; set; }
        public DbSet<Planes> Planes { get; set; }
        public DbSet<PreguntasSecretas> PreguntasSecretas { get; set; }
        public DbSet<Region> Region { get; set; }
        public DbSet<Rol> Rol { get; set; }
        public DbSet<RolUsuario> RolUsuario { get; set; }
        public DbSet<TipoPersona> TipoPersona { get; set; }
        public DbSet<Genero> Genero { get; set; }
        public DbSet<TipoPropiedad> TipoPropiedad { get; set; }
        public DbSet<AccionPropiedad> AccionPropiedad { get; set; }
        public DbSet<Propiedad> Propiedad { get; set; }
        public DbSet<Imagenes> Imagenes { get; set; }
        public DbSet<Terreno> Terreno { get; set; }
        public DbSet<Oficina> Oficina { get; set; }
        public DbSet<Departamento> Departamento { get; set; }
        public DbSet<Casa> Casa { get; set; }

        /// <summary>
        /// Método para realizar la conexión a la BD
        /// </summary>
        /// <param name="connName">Nombre de la llave de conexión</param>
        public PublicaTuPropiedadDB(string connName)
            : base(connName)
        {
            try
            {
                this.Database.Initialize(false);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
    }
}
